package com.cloudeasy.api.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Objects;

/**
 * 权限请求方式匹配枚举
 */
@AllArgsConstructor
@Getter
public enum MethodEnum {
    /**
     * 任何请求
     */
    ANY(0, null),
    /**
     * GET请求
     */
    GET(1, "GET"),
    /**
     * POST请求
     */
    POST(2, "POST"),
    /**
     * PUT请求
     */
    PUT(3, "PUT"),
    /**
     * DELETE请求
     */
    DELETE(4, "DELETE");

    /**
     * 状态码
     */
    private Integer code;
    /**
     * 值
     */
    private String value;

    /**
     * 获取指定code的value
     *
     * @param code 要获取的code
     * @return 如果存在，返回对应的value，如果不存在，返回null
     */
    public static String get(Integer code) {
        for (MethodEnum value : MethodEnum.values()) {
            if (Objects.equals(value.code, code)) {
                return value.value;
            }
        }
        return null;
    }
}
